function ccR_Rogue_Shadowstep(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local UseAbility = ccRS["Rogue_" .. specNumber .. "_UseShadowstep"]

	if UseAbility
	and ccrPlayerHasSpell(SHADOWSTEP)
	and SpellCanAttack(SHADOWSTEP)
	and not ccrTargetIsWithinMeleeRange()
	then
		ccrCastAttack(SHADOWSTEP)
		return
	end
end

function ccR_Rogue_Elusiveness(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local UseAbility = ccRS["Rogue_" .. specNumber .. "_UseFeint"]
	local AbilityHP = ccRS["Rogue_" .. specNumber .. "_FeintHP"]
	
	if UseAbility
	and ccrPlayerHealth() <= AbilityHP
	and SpellIsReady(FEINT)
	then
		ccrCast(FEINT)
		return
	end
end